/*
 * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


/*
 * Copyright (c) 2024 Shenzhen Kaihong Digital Industry Development Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

export const _grpc_channelz_v1_ChannelConnectivityState_State = {
  UNKNOWN: 'UNKNOWN',
  IDLE: 'IDLE',
  CONNECTING: 'CONNECTING',
  READY: 'READY',
  TRANSIENT_FAILURE: 'TRANSIENT_FAILURE',
  SHUTDOWN: 'SHUTDOWN',
} as const;

export type _grpc_channelz_v1_ChannelConnectivityState_State =
  | 'UNKNOWN'
  | 0
  | 'IDLE'
  | 1
  | 'CONNECTING'
  | 2
  | 'READY'
  | 3
  | 'TRANSIENT_FAILURE'
  | 4
  | 'SHUTDOWN'
  | 5

export type _grpc_channelz_v1_ChannelConnectivityState_State__Output = typeof _grpc_channelz_v1_ChannelConnectivityState_State[keyof typeof _grpc_channelz_v1_ChannelConnectivityState_State]

/**
 * These come from the specified states in this document:
 * https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
 */
export interface ChannelConnectivityState {
  'state'?: (_grpc_channelz_v1_ChannelConnectivityState_State);
}

/**
 * These come from the specified states in this document:
 * https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
 */
export interface ChannelConnectivityState__Output {
  'state': (_grpc_channelz_v1_ChannelConnectivityState_State__Output);
}
